#include "compile_run.hpp"
#include "../comm/httplib.h"

using namespace ns_compile_run;
using namespace httplib;

int main(int argc, char *argv[])
{
    if (argc != 2)
    {
        std::cout << "./a.out port" << std::endl;
        return 0;
    }
    Server svr;
    svr.Post("/compile_run", [](const Request &req, Response &resp)
             {
        std::string in_json=req.body;
        std::string out_json;
        if(!in_json.empty())
        {
            compile_run::Start(in_json,&out_json);
            // std::cout<<out_json<<std::endl;
            resp.set_content(out_json,"application/json;charset=utf-8");
        } });
    svr.listen("0.0.0.0", atoi(argv[1]));

    return 0;
}
// int main()
// {
//     //写测试代码
//     Json::Value root;
//     //R"()"C++11的知识
//     root["code"]=R"(#include <iostream>
//     int main()
//     {
//         std::cout<<"没有问题哦"<<std::endl;
//         int* p=new int[10240*1024*4];
//         return 0;
//     })";
//     root["input"]="";
//     root["cpu"]=2;
//     root["mem"]=10240*3;

//     Json::StyledWriter write;
//     std::string in_json=write.write(root);
//     std::cout<<in_json<<std::endl;
//     std::string out_json;
//     compile_run::Start(in_json,&out_json);
//     std::cout<<out_json<<std::endl;

//     return 0;
// }
// int main()
// {
//     httplib::Server svr;
//     svr.Get("/hi", [](const httplib::Request &req, httplib::Response &rsp)
//             { rsp.set_content("你好,世界!", "text/plain; charset=utf-8"); });
//     svr.listen("0.0.0.0", 80);
//     return 0;
// }